/**
 * 给定一个链表，删除链表的倒数第 n 个结点，并且返回链表的头结点
输入：head = [1,2,3,4,5], n = 2
输出：[1,2,3,5]
示例 2：

输入：head = [1], n = 1
输出：[]
示例 3：

输入：head = [1,2], n = 1
输出：[1]
 */
var removeNthFromEnd = function(head, n) {
  let pre = new ListNode(0, head)
  let fast = pre;
  let slow = pre;
  for(let i=0;i<n;i++) {
    fast = fast.next
  }
  while(fast&&fast.next) {
    fast = fast.next;
    slow = slow.next;
  }
  slow.next = slow.next.next
  return pre.next
};